package com.gao.id.support.segment;

import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface LeafAllocMapper {

    /**
     * 获取所有的 ID 信息
     * @return
     */
    List<LeafAlloc> getAllLeafAllocAllocs();

    /**
     * 根据业务 key 获取数据
     * @param tag
     * @return
     */
    LeafAlloc getLeafAlloc(String tag);

    /**
     * 更新当前业务 key 的最大 ID
     * @param tag
     */
    void updateMaxId(String tag);

    /**
     * 更新最大 ID (自定义步长)
     * @param leafAlloc
     */
    void updateMaxIdByCustomStep(LeafAlloc leafAlloc);

    /**
     * 获取所有业务 key
     * @return
     */
    List<String> getAllTags();
}
